import js from '@eslint/js';
import globals from 'globals';
import reactHooks from 'eslint-plugin-react-hooks';
import reactRefresh from 'eslint-plugin-react-refresh';
import tseslint from 'typescript-eslint';

export default tseslint.config(
  { ignores: ['dist'] },
  {
    extends: [js.configs.recommended, ...tseslint.configs.recommended],
    files: ['**/*.{ts,tsx}'],
    languageOptions: {
      ecmaVersion: 2020,
      globals: globals.browser,
    },
    plugins: {
      // "react-hooks": reactHooks,
      'react-refresh': reactRefresh,
    },
    rules: {
      ...reactHooks.configs.recommended.rules,
      // "react-refresh/only-export-components": [
      //   "warn",
      //   { allowConstantExport: true },
      // ],
      '@typescript-eslint/no-explicit-any': 'off', // 新增这行允许 any 类型
      '@typescript-eslint/no-unused-vars': 'off', // 直接关闭该规则
      // "@typescript-eslint/no-unused-vars": [
      //   "warn",
      //   {
      //     argsIgnorePattern: "^_", // 允许以 _ 开头的参数
      //     varsIgnorePattern: "^_", // 允许以 _ 开头的变量
      //     caughtErrorsIgnorePattern: "^_", // 允许以 _ 开头的 catch 参数
      //     ignoreRestSiblings: true, // 允许忽略对象剩余属性
      //   },
      // ],
    },
  },
);
